<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<script>
    //面试题1
    /*setTimeout(()=>{
        console.log(1)
    },0)
    Promise.resolve().then(()=>{
        console.log(2)
    })
    Promise.resolve().then(()=>{
        console.log(4)
    })
    console.log(3)*/
    //面试题2
    /*setTimeout(() => {
        console.log(1)
    }, 0)
    new Promise((resolve) => {
        console.log(2)
        resolve()
    }).then(() => {
        console.log(3)
    }).then(() => {
        console.log(4)
    })
    console.log(5)*/
    //面试题3
    /*const first = function(){
        return (new Promise((resolve, reject) => {
            console.log(3)
            let p = new Promise((resolve, reject) => {
                console.log(7)
                setTimeout(() => {
                    console.log(5)
                    resolve(6)
                }, 0)
                resolve(1)
            })
            resolve(2)
            p.then((arg) => {
                console.log(arg)
            })

        }))

    }

    first().then((arg) => {
        console.log(arg)
    })
    console.log(4)*/
    //面试题4
    setTimeout(() => {
        console.log("0")
    }, 0)
    new Promise((resolve,reject)=>{
        console.log("1")
        resolve()
    }).then(()=>{
        console.log("2")
        new Promise((resolve,reject)=>{
            console.log("3")
            resolve()
        }).then(()=>{
            console.log("4")
        }).then(()=>{
            console.log("5")
        })
    }).then(()=>{
        console.log("6")
    })

    new Promise((resolve,reject)=>{
        console.log("7")
        resolve()
    }).then(()=>{
        console.log("8")
    })
</script>
</body>
</html>